local blackList = {}
local old_TextStatusBar_UpdateTextString = TextStatusBar_UpdateTextString

local format = string.format
local function CapNumericDisplay(v)
	if v > 1000000 then
		return format("%.1fM", v / 1000000)
	elseif v > 1000 then
		return format("%.1fK", v / 1000)
	else
		return v
	end
end

function TextStatusBar_UpdateTextString(self)
	if blackList[self] then return old_TextStatusBar_UpdateTextString(self) end
	local t = self.TextString
	if not t then return end
	local value = self:GetValue()
	local valueMin, valueMax = self:GetMinMaxValues()
	local percent = value * 100 / valueMax
	if self.capNumericDisplay then
		value = CapNumericDisplay(value)
		valueMax = CapNumericDisplay(valueMax)
	end
	local prefix = self.prefix
	if prefix then
		t:SetFormattedText("%s %s/%s %d%%", prefix, value, valueMax, percent)
	else
		t:SetFormattedText("%s/%s %d%%", value, valueMax, percent)
	end
end
PlayerFrameHealthBar.prefix = nil
PlayerFrameManaBar.prefix = nil